package com.czmh.etc.onlinepubsys.feign.newrun.entity.yue;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Transient;

import org.springframework.format.annotation.DateTimeFormat;

import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;

/**
 * 广东银行卡信息表
 *
 * @author liuyanting
 * @email
 * @date 2019-09-04 16:42:27
 */
@Data
public class EtcYueBankCardInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    /*
     * 主键
     */
    private String id;
    
    /*
     * 登录用户id
     */
    private String loginUserId;

    @ApiModelProperty(value = "纽润申请id", required = true)
    private String applyId;
    
    @ApiModelProperty(value = "申请id", required = true)
    private String otherApplyId;

    @ApiModelProperty(value = "用户姓名", required = true)
    private String userName;

    @ApiModelProperty(value = "证件类型: 1-身份证,2-营业执照", required = true)
    private Integer idCardType;

    @ApiModelProperty(value = "证件号", required = true)
    private String idCard;

    @ApiModelProperty(value = "身份证地址", required = true)
    private String idAddress;

    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    @ApiModelProperty(value = "身份证有效期(yyyy-MM-dd)", required = true)
    private Date idEffDate;

    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "身份证失效期(yyyy-MM-dd)", required = true)
    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
    private Date idExpDate;

    @ApiModelProperty(value = "银行预留手机号", required = true)
    private String bankMobile;

    @ApiModelProperty(value = "一类户银行编号", required = true)
    private String bankCode;

    @ApiModelProperty(value = "一类户银行名称", required = true)
    private String bankName;

    @ApiModelProperty(value = "一类户银行卡号(开二类户必填)")
    private String bankNo;

    @ApiModelProperty(value = "二类户银行编号")
    private String bankAccountCode;

    @ApiModelProperty(value = "二类户银行名称")
    private String bankAccountName;

    @ApiModelProperty(value = "二类户银行卡号(已有二类户必填)")
    private String bankAccount;

    /*
     * 开卡状态， 0 - 成功， 1 - 失败
     */
    private Integer status;

    /*
     *
     */
    private String disable;

    /*
     * 1:删除 0:正常
     */
    private String delFlag;

    /*
     *
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    /*
     *
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updateTime;

    /*
     * 开卡业务流水号
     */
    private String sequenceId;

    /*
     * 全渠道返回的response
     */
    private String additional;

    /*
     *
     */
    private String extend4;

    /*
     *
     */
    private String extend5;

    /*
     *
     */
    private String extend6;

    @Transient
    @ApiParam(value = "是否需要开户: 0-否 1-是", required = true)
    private Integer needOpenAccount;

    @ApiParam(value = "银行交易单号(开户必填)")
    private String corpSerno;

    @Transient
    @ApiParam(value = "验证码(开户必填)", defaultValue = "955888")
    private String smsSendNo;

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}

